package 数学类;

public class 自幂数 {
    //自幂数，一个n位自然数等于自身各个数位上数字的n次幂之和
    /* 一位自幂数，也叫做：独身数
     * 三位自幂数：水仙花数  四位自幂数：四叶玫瑰数
     * 五位自幂数：五角星数  六位自幂数：六合数
     * 七位自幂数：北斗七星数  八位自幂数：八仙数
     * 九位自幂数：九九重阳数  十位自幂数：十全十美数*/
    public static void main(String[] args) {
        //要求以统计水仙花数
        //统计个数
        int count=0;
        for (int i = 100; i <= 999; i++) {
            //获取 个位 十位 百位
            int ge=i%10;
            int shi=i/10%10;
            int bai=i/100%10;
            //判断
            double sum=Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3);
            if (sum==i){
                count++;
            }
        }
        System.out.println(count);

        //证明没有2为
        for (int i = 10; i < 99; i++) {
            //获取个位
            int ge =i%10;
            int shi= i/10%10;
            double sum=Math.pow(ge,3)+Math.pow(shi,3);
            if (sum==i){
                System.out.println(i);
            }
        }
    }
}
